草庐IT

javascript window.open 从回调

全部标签

javascript - 将附加参数传递给 JSONP 回调

对于我的一个项目,我需要使用JSONP对(远程)API进行多次调用以处理API响应。所有调用都使用相同的回调函数。所有调用都是在客户端使用JavaScript动态生成的。问题如下:如何将附加参数传递给该回调函数,以便将我使用的请求参数告知该函数。因此,例如,在下面的示例中,我需要myCallback函数来了解id=123。有什么方法可以实现这一点而不必为我的每个调用创建一个单独的回调函数?首选vanillaJavaScript解决方案。编辑:在第一次评论和回答之后,出现了以下几点:我对远程服务器没有任何控制权。因此,将参数添加到响应中不是一种选择。我同时启动了多个请求,因此任何用于存储

javascript - 如何在 jQuery Ajax 成功回调中处理我的 JSON 数据?

如果我有一个ajax调用:$.ajax({url:url,dataType:'json',data:data,success:function(json_data){//What'stheefficientwaytoextracttheJSONdataandgetthevalue}});服务器向我的js返回以下JSON数据{"contact":[{"address":[{"city":"Shanghai","street":"LongHuaStreet"},{"city":"Shanghai","street":"DongQuanStreet"}],"id":"huangyim","n

javascript window.open 从回调

从主线程调用的window.open()默认打开新标签页。但是,每次都在这里打开新窗口(Opera16和GoogleChrome29)functioncb1(){setTimeout(wo,1000);//simpleasync}functionwo(){vara=window.open("http://google.com","w2");a.focus();}(哈哈,这是我对OpenaURLinanewtab(andnotanewwindow)usingJavaScript的回答)。如何在此处的选项卡中打开(浏览器默认)? 最佳答案

javascript - window.open() 现在还有用吗?

我正在学习JS,偶然发现了window.open()函数。当我测试它时,似乎像Chrome这样的主要浏览器会阻止弹出窗口。对我来说,open()的主要功能不再有用了。那么这个函数在目前的实践中还有用吗? 最佳答案 我认为Chrome只会在window.open之前没有用户操作时阻止它。例如,如果您有一个元素,其onclick属性映射到一个函数...functionclickedButton(){window.open(...);}这行得通。虽然这....functionclickedButton(){setTimeout(funct

JavaScript - 自执行匿名函数和回调

我可以使用带有自执行功能的回调吗?如果是,您看到过任何示例吗?JavaScript自执行函数:(function(){//DoStuff})() 最佳答案 当然可以-这是将变量包含在某个函数中的常用方法,因此它们不会干扰全局变量(或来自单独的闭包)。一些例子:(function(){varcounter=0;varstep=function(){counter++;console.log(counter+'Mississipi...');};setInterval(step,1000);})();(function(){varcou

javascript - 从未调用过 jQuery ajax 回调

Javascript代码,使用jQuery1.7:$(function(){$.get('/ajax_dummy',function(){alert('foo');})});通过Firebug,我可以看到发送了HTTPGET请求并返回了代码为200的“helloworld”响应,所以一切看起来都很好。但是永远不会调用回调。我不知道哪里出了问题;这应该很简单吧? 最佳答案 您没有提供dataType,因此jQuery从响应Content-Typeheader中“智能猜测”内容类型是什么,您说的是应用程序/json.所以jQuery将响

javascript - 将回调函数传递给 jQuery AJAX 成功函数

我试图传入一个函数以在AJAX调用成功时运行,但是它不起作用,因为它说“回调不是函数”。例子:调用代码:getGrades(var);JS:functiongetGrades(grading_company){//Setfiletogetresultsfrom..varloadUrl="ajax_files/get_grades.php";//SetdatastringvardataString='gc_id='+grading_company;//Setthecallbackfunctiontorunonsuccessvarcallback='showGradesBox';//Run

javascript - 是否保证事件处理程序在调用 AJAX 回调之前完成?

假设我有一个对服务器进行两次AJAX调用的事件处理程序:$("#foo").click(function(){$.get("bar",function(){alert("Hello");});$.get("baz",function(){alert("World");});});我意识到调用回调的顺序是不确定的,因为它取决于每个请求需要多长时间等。但这是我的问题:是否可以保证在调用任一回调函数之前到达事件处理程序的末尾?我读到页面的所有Javascript都在单个线程中执行,所以我认为这意味着我的click事件处理程序保证在调用任何回调之前完成。这是正确的吗?或者是否有可能第一个请求可

javascript:带有回调和 'this' 的原型(prototype)

我创建了一个基于原型(prototype)的类Person,它打开一个WebSocket连接并将回调函数定义为原型(prototype)方法。因为在回调中this将引用WebSocket对象,我使用另一个变量来保存Person的this。但是,当我处理多个实例时,变量会被覆盖。这是一个显示问题的小片段:functionPerson(name){self=thisself.name=name}Person.prototype={getName:function(){returnself.name},openConnection:function(host,port){self.point

javascript - 在 javascript 中调用回调

我的javascript不是很好。我有一个通用函数,我从代码的许多部分调用它并向它们传递一些参数。谁能帮帮我如何为这个函数定义一个新参数,它应该是一个没有从调用者传递的参数的回调(就像许多jquery插件一样)如何处理函数内部的回调调用提供有关解决方案的建议,是否有更好的解决方案等。非常感谢! 最佳答案 其实很简单functioncallback(){alert("Iaminthecallback!");}functionwork(func){alert("Iamcallingthecallback!");func();}work(